package com.googlecode.kipler.satisfiability.completion.rule.individual;

import java.util.Set;

import com.googlecode.kipler.container.dl.ABox;
import com.googlecode.kipler.container.dl.DependencySet;
import com.googlecode.kipler.container.dl.Individual;
import com.googlecode.kipler.satisfiability.reasoner.UnsatisfiableException;


/**
 * 
 * @author İnanç Seylan
 * 
 */
public interface MergeStrategy {

	public MergePair choosePair(ABox aBox, Set<Individual> neighbors);

	public void merge(String owner, ABox aBox, MergePair mergePair,
			DependencySet dependencySet) throws UnsatisfiableException;
}
